664fcb042dc0f78650ca25a58d6de69b1c0fe71d,src/net/spfbl/http/ServerHTTP.java,ServerHTTP,getDNSBLHTML,#Locale#Client#String#String#,1580

Before Change


                } else {
                    builder.append("    Register a valid rDNS for this IP, which point to the same IP.<br>\n");
                }
            } else if ((probability = (distribution = SPF.getDistribution(query, true)).getSpamProbability(query)) > 0.01f) {
                if (distribution.isBlacklisted(query) || Block.containsIP(query)) {
                    if (locale.getLanguage().equals("pt")) {
                        builder.append("    Este IP está listado por má reputação com ");
                        builder.append(Server.PERCENT_FORMAT.format(probability));
                        builder.append(" de pontos negativos do volume total de envio.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    Para que este IP possa ser removido desta lista,<br>\n");
                        builder.append("    é necessário que o MTA de origem reduza o volume de envios para os destinatários<br>\n");
                        builder.append("    cuja rejeição SMTP tenha prefixo '5XX 5.7.1 SPFBL <message>'.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    Cada rejeição SMTP com este prefixo gera automaticamente um novo ponto negativo neste sistema,");
                        builder.append("    onde este ponto expira em uma semana.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    O motivo da rejeição pode ser compreendida pela mensagem que acompanha o prefixo.<br>\n");
                    } else {
                        builder.append("    This IP is listed by bad reputation in ");
                        builder.append(Server.PERCENT_FORMAT.format(probability));
                        builder.append(" of negative points of total sending.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    In order for this IP can be removed from this list,<br>\n");
                        builder.append("    it is necessary that the source MTA reduce the sending volume for the recipients<br>\n");
                        builder.append("    whose SMTP rejection has prefix '5XX 5.7.1 SPFBL <message>'.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    Each SMTP rejection with this prefix automatically generates a new negative point in this system,");
                        builder.append("    where this point expires in a week.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    The reason for the rejection can be understood by the message that follows the prefix.<br>\n");
                    }
                } else {
                    if (locale.getLanguage().equals("pt")) {
                        builder.append("    Este IP não está listado neste sistema porém sua reputação está com ");
                        builder.append(Server.PERCENT_FORMAT.format(probability));
                        builder.append(" de pontos negativos do volume total de envio.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    Se esta reputação tiver aumento significativo na quantidade de pontos negativos,");
                        builder.append("    este IP será automaticamente listado neste sistema.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    Para evitar que isto ocorra, reduza os envios cuja rejeição SMTP");
                        builder.append("    tenha prefixo '5XX 5.7.1 SPFBL <message>'.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    Cada rejeição SMTP com este prefixo");
                        builder.append("    gera automaticamente um novo ponto negativo neste sistema.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    O motivo da rejeição pode ser compreendida pela mensagem que acompanha o prefixo.<br>\n");
                    } else {
                        builder.append("    This IP is not listed in this system but its reputation is with ");
                        builder.append(Server.PERCENT_FORMAT.format(probability));
                        builder.append(" of negative points of total sending.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    If this reputation have significant increase in the number of negative points,");
                        builder.append("    this IP will automatically be listed in the system.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    To prevent this from occurring, reduce sending whose SMTP rejection");
                        builder.append("    has prefix '5XX 5.7.1 SPFBL <message>'.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    Each SMTP rejection with this prefix");
                        builder.append("    automatically generates a new negative point in this system.<br>\n");
                        builder.append("    <br>\n");
                        builder.append("    The reason for the rejection can be understood by the message that follows the prefix.<br>\n");
                    }
                    
                }
            } else if (Block.containsIP(query)) {
                if (locale.getLanguage().equals("pt")) {
                    builder.append("    E-mails para envio de chave de desbloqueio:");
                } else {
                    builder.append("    E-mails to send unblock key:");
                }
                builder.append("<br>\n");
                builder.append("    <ul>\n");
                if (
                        client != null &&
                        client.hasPermission(DNSBL) &&
                        client.hasEmail()
                        ) {
                    emailSet.add(client.getEmail());
                }
                TreeSet<String> sendSet = new TreeSet<String>();
                String email = emailSet.pollFirst();
                do  {
                    builder.append("      <li><");
                    builder.append(email);
                    builder.append("> ");
                    if (NoReply.contains(email)) {
                        if (locale.getLanguage().equals("pt")) {
                            builder.append("não permitido.</li>\n");
                        } else {
                            builder.append("not permitted.</li>\n");
                        }
                    } else {
                        sendSet.add(email);
                        if (locale.getLanguage().equals("pt")) {
                            builder.append("permitido.</li>\n");
                        } else {
                            builder.append("permitted.</li>\n");
                        }
                    }
                } while ((email = emailSet.pollFirst()) != null);
                builder.append("    </ul>\n");
                if (sendSet.isEmpty()) {
                    if (locale.getLanguage().equals("pt")) {
                        builder.append("    Nenhum e-mail do responsável pelo IP é permitido neste sistema.<br>\n");
                    } else {
                        builder.append("    None of the responsible for IP has e-mail permitted under this system.<br>\n");
                    }
                } else {
                    builder.append("    <form method=\"POST\">\n");
                    if (locale.getLanguage().equals("pt")) {
                        builder.append("      Para que a chave de desbloqueio seja enviada,<br>\n");
                        builder.append("      selecione o endereço de e-mail do responsável pelo IP:<br>\n");
                    } else {
                        builder.append("      For the release key is sent,<br>\n");
                        builder.append("      select the responsible e-mail address of the IP:<br>\n");
                    }
                    for (String send : sendSet) {
                        builder.append("      <input type=\"checkbox\" name=\"identifier\" value=\"");
                        builder.append(send);
                        builder.append("\">");
                        builder.append(send);
                        builder.append("<br>\n");
                    }
                    if (Core.hasRecaptchaKeys()) {
                        builder.append("      <br>\n");
                        if (locale.getLanguage().equals("pt")) {
                            builder.append("      Para que sua solicitação seja aceita,<br>\n");
                            builder.append("      resolva o desafio reCAPTCHA abaixo.<br>\n");
                        } else {
                            builder.append("      For your request is accepted,<br>\n");
                            builder.append("      solve the reCAPTCHA below.<br>\n");
                        }
                        String recaptchaKeySite = Core.getRecaptchaKeySite();
                        String recaptchaKeySecret = Core.getRecaptchaKeySecret();
                        ReCaptcha captcha = ReCaptchaFactory.newReCaptcha(recaptchaKeySite, recaptchaKeySecret, false);
                        builder.append("      ");
                        builder.append(captcha.createRecaptchaHtml(null, null).replace("\r", ""));
                        // novo reCAPCHA
            //            builder.append("      <div class=\"g-recaptcha\" data-sitekey=\"");
            //            builder.append(recaptchaKeySite);
            //            builder.append("\"></div>\n");
                    }
                    if (locale.getLanguage().equals("pt")) {
                        builder.append("      <input type=\"submit\" value=\"Solicitar\">\n");
                    } else {
                        builder.append("      <input type=\"submit\" value=\"Request\">\n");

After Change


                    }
                    if (Core.hasRecaptchaKeys()) {
                        builder.append("      <br>\n");
                        if (locale.getLanguage().toLowerCase().equals("pt")) {
                            builder.append("      Para que sua solicitação seja aceita,<br>\n");
                            builder.append("      resolva o desafio reCAPTCHA abaixo.<br>\n");
                        } else {
                            builder.append("      For your request is accepted,<br>\n");
                            builder.append("      solve the reCAPTCHA below.<br>\n");
                        }
                        String recaptchaKeySite = Core.getRecaptchaKeySite();
                        String recaptchaKeySecret = Core.getRecaptchaKeySecret();
                        ReCaptcha captcha = ReCaptchaFactory.newReCaptcha(recaptchaKeySite, recaptchaKeySecret, false);
                        builder.append("      ");
                        builder.append(captcha.createRecaptchaHtml(null, null).replace("\r", ""));
                        // novo reCAPCHA
            //            builder.append("      <div class=\"g-recaptcha\" data-sitekey=\"");
            //            builder.append(recaptchaKeySite);
            //            builder.append("\"></div>\n");
                    }
                    if (locale.getLanguage().toLowerCase().equals("pt")) {
                        builder.append("      <input type=\"submit\" value=\"Solicitar\">\n");
                    } else {
                        builder.append("      <input type=\"submit\" value=\"Request\">\n");